package com.example.test.advice.第三章_类_对象_方法.建议35_避免在构造函数中初始化其他类;

/**
 * Son实例化时调用了Father类的构造方法，Father构造初始化时又调用了Son的构造方法，造成了死循环
 */
public class Client {

    public static void main(String[] args) {
        Son s = new Son();
        s.doSomething();
    }
}

//父类、
class Father {

    public Father() {
        new Other();
    }
}

//子类
class Son extends Father{
    public void doSomething(){
        System.out.println("Hi ,show me something");
    }
}

//相关类
class Other {
    public Other() {
        new Son();
    }
}